package com.ysh.mapper;

import com.ysh.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *    UserDao接口，提供CRUD操作
 */
public interface UserMapper {
    /**
     * 添加用户操作
     * @param user
     * @return
     */
    public boolean save(User user);

    /**
     * 修改用户操作
     * @param user
     * @return
     */
    public boolean update(User user);

    /**
     * 删除用户操作
     * @param uuid
     * @return
     */
    public boolean delete(Integer uuid);

    /**
     * 根据id查询单个用户操作
     * @param uuid
     * @return
     */
    public User get(Integer uuid);

    /**
     * 查询全部用户操作
     * @return
     */
    public List<User> getAll();

    /**
     * 根据条件查询，带分页
     * @return
     */
    public List<User> getUsers(User user);

    /**
     * 根据用户名和密码查询用户操作
     * @param userName  用户名
     * @param password  密码
     * @return
     */
    // 注意：数据层操作方法名不要和业务层方法名称混淆，通常数据层仅反映出和数据库之间的信息交换
    public User getByUserNameAndPassword(@Param("userName") String userName, @Param("password") String password);
}
